home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 5.4 KB | 182 lines |
- 10 'TELETUBE - Telescoping Aluminum Tubing - 20 JAN 94 rev. 12 OCT 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 COMMON EX$
- 40 CLS:KEY OFF
- 50 COLOR 7,0,1
- 60 UL$=STRING$(80,205)
- 70 PI=3.14159
- 80 DIM T(14,5)
- 90 R1=0.0625 'base radius
- 100 FOR Z=1 TO 14 '14 stock diameters
- 110 R1=R1+0.0625 'radius increment
- 120 T(Z,1)=2*R1 'O.D.
- 130 T(Z,2)=0.058 'wall thickness
- 140 T(Z,3)=17 'Stub's gauge #
- 150 R2=R1-T(Z,2) 'inside radius
- 160 T(Z,4)=2*R2 'I.D.
- 170 W=((PI*R1^2)-(PI*R2^2))*12*0.098 'lbs. per foot
- 180 T(Z,5)=W
- 190 NEXT Z
- 200 '
- 210 '.....start
- 220 CLS
- 230 COLOR 15,2
- 240 PRINT " TELESCOPING ALUMINUM TUBING ANTENNA ELEMENTS";
- 250 PRINT TAB(57);"by George Murphy VE3ERP ";
- 260 COLOR 1,0:PRINT STRING$(80,223);
- 270 COLOR 7,0
- 280 PRINT " Press number in < > to select:"
- 290 PRINT UL$;
- 300 PRINT " < 1 > DISPLAY table of standard tubing sizes"
- 310 PRINT " < 2 > Construction details - typical YAGI element"
- 320 PRINT " < 3 > Convert one-piece YAGI element to tapered sections"
- 330 PRINT UL$;
- 340 PRINT " < 0 > EXIT"
- 350 Z$=INKEY$
- 360 IF Z$="0"THEN CLS:RUN EX$
- 370 IF Z$="1"THEN 420
- 380 IF Z$="2"THEN 730
- 390 IF Z$="3"THEN CLS:CHAIN"yagtaper"
- 400 GOTO 350
- 410 '
- 420 '.....tubing table
- 430 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 440 PRINT " STANDARD TELESCOPING TUBING SIZES "
- 450 PRINT " Alloy #6061-T6 Round Aluminum Tube in standard 12 ft. lengths."
- 460 PRINT UL$;
- 470 PRINT TAB(4);"O.D.";TAB(12);"I.D.";TAB(20);"Wall";
- 480 PRINT TAB(28);"Gauge";TAB(40);"Weight"
- 490 PRINT UL$;
- 500 FOR Z=1 TO 14
- 510 D=8 'denominator
- 520 Y=INT(T(Z,1)):Y$=STR$(Y) 'integer inches
- 530 Y$=Y$+" ":IF Y=0 THEN Y$=" " 'integer inches
- 540 X=(T(Z,1)-Y)*8 'fractional part
- 550 D1=D
- 560 IF X=0 THEN 610
- 570 IF X/2<>INT(X/2)THEN 590
- 580 D1=D1/2:X=X/2:GOTO 570
- 590 X$=RIGHT$(STR$(X),1)
- 600 D$=RIGHT$(STR$(D1),1)+CHR$(34)
- 610 PRINT Y$;
- 620 IF X=0 THEN PRINT CHR$(34);:GOTO 640
- 630 PRINT X$;"/";D$; 'O.D.
- 640 PRINT TAB(11);USING "#.###";T(Z,4);:PRINT CHR$(34); 'I.D.
- 650 PRINT TAB(20);".058"+CHR$(34); 'wall
- 660 PRINT TAB(29);"#17"; 'gauge
- 670 PRINT TAB(37);USING "#.###";T(Z,5);:PRINT " lb./ft."
- 680 NEXT Z
- 690 PRINT UL$;
- 700 GOSUB 1680
- 710 GOTO 210 'start
- 720 '
- 730 '.....design elements
- 740 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 750 PRINT " Do you want (l)ight, (m)edium, or (h)eavy construction? (l/m/h)"
- 760 Z$=INKEY$:IF Z$=""THEN 760 'base tubing size
- 770 IF Z$="l"THEN BT=0.375:GOTO 810
- 780 IF Z$="m"THEN BT=0.625:GOTO 810
- 790 IF Z$="h"THEN BT=0.875:GOTO 810
- 800 GOTO 760
- 810 INPUT " ENTER: Total overall length of element, in inches.....";EL
- 820 IF EL>72 THEN 890
- 830 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 13,4:BEEP
- 840 PRINT "ELEMENTS 72";CHR$(34);" LONG OR LESS CAN BE MADE FROM A SINGLE ";
- 850 PRINT "LENGTH OF 3/4";CHR$(34);" TUBING."
- 860 GOSUB 1680
- 870 GOTO 210 'start
- 880 '
- 890 TOT=0:WGT=0
- 900 N=1 'default value
- 910 N=N+2:D=EL/N:IF D<=66 THEN 930
- 920 GOTO 910
- 930 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 940 PRINT TAB(16);"VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND Exposed Length SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR";
- 950 PRINT TAB(55);"Size";TAB(68);"Weight (lbs.)";
- 960 PRINT UL$;
- 970 TU=(N-1)/2+1 'number of tubing sizes
- 980 'BT=.625 'base tube size
- 990 CS=72 'centre section
- 1000 MS=66 'intermediate section
- 1010 ES=(EL-CS-(N-3)*MS)/2 'end section
- 1020 IF ES<=0 THEN N=N-2:D=EL/N:GOTO 970
- 1030 '
- 1040 LN=CSRLIN:LOCATE 3:PRINT N;"sections":LOCATE LN
- 1050 PRINT" 1 centre sect. @ 72";CHR$(34);TAB(40);USING "####.#";CS;
- 1060 PRINT CHR$(34);
- 1070 PRINT TAB(50);USING "#.###";BT+0.125*TU;:PRINT CHR$(34);" dia.tubing";
- 1080 FOR Y=1 TO 14
- 1090 IF T(Y,1)=BT+0.125*TU THEN 1110
- 1100 NEXT Y
- 1110 W=T(Y,5)*6:WGT=WGT+W
- 1120 PRINT TAB(71);USING "##.##";W
- 1130 TOT=TOT+CS
- 1140 '
- 1150 IF N=3 THEN 1280
- 1160 FOR Z=1 TO (N-3)/2
- 1170 PRINT " 2 mid sections @";STR$(MS);CHR$(34);" (1 each side)";
- 1180 PRINT TAB(40);USING"####.#";2*MS;:PRINT CHR$(34);
- 1190 PRINT TAB(50);USING "#.###";BT+0.125*(TU-Z);:PRINT CHR$(34);" dia.tubing";
- 1200 FOR Y=1 TO 14
- 1210 IF T(Y,1)=BT+0.125*(TU-Z) THEN 1230
- 1220 NEXT Y
- 1230 W=T(Y,5)*6*2:WGT=WGT+W
- 1240 PRINT TAB(71);USING "##.##";W
- 1250 TOT=TOT+2*MS
- 1260 NEXT Z
- 1270 '
- 1280 E$=STR$(INT(ES*100)/100)
- 1290 PRINT" 2 end sections projecting";E$;CHR$(34);" each";
- 1300 PRINT ;TAB(40);USING "####.#";2*ES;
- 1310 PRINT CHR$(34);
- 1320 PRINT TAB(50);USING "#.###";BT+0.125;:PRINT CHR$(34);" dia.tubing";
- 1330 FOR Y=1 TO 14
- 1340 IF T(Y,1)=BT+0.125 THEN 1360
- 1350 NEXT Y
- 1360 W=T(Y,5)*(ES+12)/12*2:WGT=WGT+W
- 1370 PRINT TAB(71);USING "##.##";W
- 1380 TOT=TOT+2*ES
- 1390 PRINT TAB(39);"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND";TAB(69);"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 1400 PRINT " Overall length of element";
- 1410 PRINT TAB(40);USING "####.#";TOT;:PRINT CHR$(34);" (";
- 1420 PRINT USING "###.##";TOT/12;:PRINT " ft.)";
- 1430 PRINT TAB(71);USING "##.#";WGT
- 1440 PRINT UL$;
- 1450 PRINT TAB(7);
- 1460 PRINT "All tubing is .058";CHR$(34);" wall #6061-T6 round aluminum tubing";
- 1470 PRINT " available in"
- 1480 PRINT TAB(7);
- 1490 PRINT "standard 12 foot lengths."
- 1500 PRINT
- 1510 PRINT TAB(7);
- 1520 PRINT "All tubing sections, except end sections, are 72 inches long,"
- 1530 PRINT TAB(7);
- 1540 PRINT "(standard 12' length cut in half)."
- 1550 PRINT
- 1560 IF N=3 THEN 1620
- 1570 PRINT TAB(7);
- 1580 PRINT "Mid sections are 72 inches long with 6 inches inserted into end of"
- 1590 PRINT TAB(7);
- 1600 PRINT "adjacent tube, leaving 66 inches projecting."
- 1610 PRINT
- 1620 PRINT TAB(7);
- 1630 PRINT "End sections should be cut about 8 to 12 inches longer than the "
- 1640 PRINT TAB(7);
- 1650 PRINT "projecting dimension shown to allow for final tuning adjustments."
- 1660 GOSUB 1690
- 1670 GOTO 210 'start
- 1680 '
- 1690 'HARDCOPY
- 1700 GOSUB 1810:LOCATE 25,2:COLOR 14,6
- 1710 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1720 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1730 Z$=INKEY$:IF Z$="3"THEN GOSUB 1810:RETURN
- 1740 IF Z$="1"OR Z$="2"THEN GOSUB 1810:GOTO 1760
- 1750 GOTO 1730
- 1760 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1770 LPRINT CHR$(SCREEN(QX,QY));
- 1780 NEXT QY:NEXT QX
- 1790 IF Z$="2"THEN LPRINT CHR$(12)
- 1800 GOTO 1700
- 1810 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-